package com.gitee.qdbp.general.system.api.personnel.service;

import java.util.List;
import com.gitee.qdbp.able.exception.ServiceException;
import com.gitee.qdbp.able.jdbc.ordering.OrderPaging;
import com.gitee.qdbp.able.jdbc.paging.PageList;
import com.gitee.qdbp.base.system.model.CreatorIdAware;
import com.gitee.qdbp.base.system.model.IAccount;
import com.gitee.qdbp.general.system.api.personnel.model.UserCoreBean;
import com.gitee.qdbp.general.system.api.personnel.model.UserCoreWhere;

/**
 * 用户基础信息业务接口
 *
 * @author zhh
 * @version 170214
 */
public interface IUserCoreQueryer {

    UserCoreBean find(String id) throws ServiceException;

    UserCoreBean find(UserCoreWhere where) throws ServiceException;

    PageList<UserCoreBean> list(UserCoreWhere where, OrderPaging paging) throws ServiceException;

    List<UserCoreBean> listByIds(List<String> ids, IAccount... knowns) throws ServiceException;

    <T extends CreatorIdAware> List<UserCoreBean> listByCreatorIds(List<T> items, IAccount... knowns)
            throws ServiceException;

}
